Machine tool and numerical control apparatus for controlling the same

ABSTRACT

In wire-electrical discharge machine and a numerical control apparatus thereof and a numerical control apparatus for controlling a machine tool, optional minute blocks are automatically created in front of and behind a connecting point, i.e., a joint of a block to which an offset command is instructed, and an offset value is exchanged between the minute blocks so that a correct offset value is set in a desired block.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The invention relates to a machine tool such as a wire-electricaldischarge machine etc. and a controller for controlling the machinetool.

2. Description of the Related Art

In an ordinary machine tool using an endmill as a cutting tool, thefinal shape of a work can be obtained by creating a program bypreviously adding a radius of the endmill to a machining path(programmed path) as an offset value (refer to FIG. 1). Although theoffset value (tool diameter correction amount) is ordinarily changedwhen a tool is exchanged in an offset cancel operation, only positioning(G00) and linear interpolation (G01) can be carried out during an offsetmode (refer to FIG. 2). A command method is, for example, a form of G00(or G01) of XYD, where D shows a new tool diameter correction number. Asshown in FIG. 3, machining is carried out in an offset amount set to aninstructed number by instructing the offset number succeeding to anaddress D during programming. The offset amount can be changed bychanging the offset number while a program is carried out.

In a wire-electrical discharge machine that is an example of a machinetool, a method of programming a machining path for machining a work by afinal dimension of the work is employed. In the method, at the time ofactual machining, there is a case of finishing a final dimension of thework to a programmed dimension by carrying out machining by making shift(hereinafter called “offset”) of the radius of a wire electrode line andthe removed amount, which has been removed in a vertical direction fromthe wire electrode line to the work (distance: hereinafter, called“electrical discharge gap”), of the amount of the block that had beenremoved by electrical discharge heat resulting from the electricaldischarge that has been carried out between the wire electrode line andthe work, i.e., electrical discharge gap to a cutting-off side withrespect to a machining path programmed to the final dimension.

In the machining carried out by an ordinary machine tool, for example, amilling machine using an endmill as a cutting tool to machine a work,when a program is created by previously adding a radius of the endmillto a machining path, it is not necessary to change an offset value inactual machining. However, in a wire-electrical discharge machine, anelectrical discharge gap whose distance is unknown exists in addition toa radius of a wire electrode. For this reason, when the discharge gap isnot known, a program including an offset value cannot be created.

In wire electrical discharge machining, when machining is carried out bya program corresponding to a shape of a final dimension and an oppositeside dimension of the shape whose dimension has been reduced byelectrical discharge is measured, an offset value is determined as avalue half a remaining value obtained by subtracting the opposite sidedimension value after machining from the opposite side dimension valueof the programmed shape. As described above, in the wire-electricaldischarge machine, a machining program can be previously created byusing an offset function also in machining of an unknown discharge gap.

Ordinarily, although an offset determined once is not changed duringmachining, there occurs a case that the offset is changed due to specialcircumstances. For example, in a portion having a stepped section inwhich a machining state outstandingly changes, since an electricaldischarge machining amount changes in a portion where a work is thick inand a portion where the work is thin, a discharge gap also changes. Atthe time, a final dimension can be properly obtained even in the steppedsection by optionally changing an offset value (refer to JP 2011-83873A).

Likewise the offset, it becomes necessary to optionally change also ataper angle command value in the middle of a machining path at the timeof taper machining in which a work is machined while tilting a wireelectrode to the work. Further, as described in JP 2007-83372 A, at thetime of taper machining, an electrical discharge machining amountbecomes different by the difference between the path length on uppersurface side of a work and the path length on the lower surface side ofthe work. To cope with the problem, a taper machining amount correctionfunction for correcting the difference of the electrical dischargemachining amount becomes necessary. It is necessary to optionally changealso the taper machining amount correction function depending on amachining portion likewise the offset.

To change an offset value during machining, it is necessary to offset,for example, paths in respective normal directions of a straight linemachining path program block that is moving at the time (duringmachining) and a straight line machining path program block that will becarried out next, and it is necessary to previously read and calculate anext block to determine an intersecting point of a path including anoffset of a next block at the end point position of a present block.

As shown in FIG. 4, in a machining path 6 in which a present blockintersects a next block at a right angle (90 degrees), when offsetvalues instructed to two blocks vary, for example, when the offset valueof the present block=a and the offset of the next block=b and the formeroffset value is different from the latter offset value, an intersectingpoint of the paths, which has obtained by moving the respective blocksin parallel in the normal directions from the respective blocks becomesan actual direction change point of a moving path of the center of atool.

First, a problem of the offset machining will be explained.

A conventional method of determining an offset path (machining pathincluding an offset value) when a tangential line exists in a connectingpoint at the time two straight line blocks are connected each other on astraight line and when front and rear blocks are smoothly connected byan arc and a straight or by an arc and an arc (i.e., when the connectingpoint is not a cusp) will be explained. As shown in FIG. 5, when anoffset change command is instructed to a block next to a present block,the offset path is gradually changed so that the start point of the nextblock is set to an offset value a of the present block and the end pointof the next block is set to a changed offset value b for the first time.For this reason, a block to which the actually changed offset value isperfectly applied is a third block.

The conventional offset path determination method is very inconvenientbecause the method cannot cope with a case in which it is desired tochange an offset value of only a next block. In particular, when a thinplate portion and a thick plate portion of a stepped section exist onthe same straight line, the method cannot properly cope with a case inwhich it is desired to change an offset of only the thin plate portion(refer to FIG. 6A and FIG. 7A).

Next, a problem of the taper machining will be explained.

A taper angle can be changed by instructing a taper angle while aprogram is being carried out (refer to FIG. 8). A path when the taperangle is changed will be explained as to (1) a case of intersection(FIG. 9) and to (2) a case of contact (FIG. 10). (1) In the case ofintersection, when a block to which a taper angle has been instructedintersects a block in front of the above block (an angle between the twoblocks is one degree or more), the new taper angle is applied from thebeginning of the block to which the taper angle has been instructed. (2)In the case of contact, when the block to which the taper angle has beeninstructed is in contact with the block in front of the above block (anangle between the two blocks is less than one degree), a previous angleis applied to the start point of the block to which the taper angle hasbeen applied, the angle changes as the block moves and the new taperangle is applied at the end point of the block.

Also in the taper machining, when a taper angle command value is changedextending to blocks with a tangential line, a problem arises in that thechange of the taper angle command value is not applied to a necessaryblock as shown in FIG. 10. As shown in FIG. 11A, in a case of an obtuseangle (an intersecting lines of 179 degrees) at which blocks are almostin contact with each other in the taper machining, when it is intendedto change an angle on a ridge line where planes having a taper angleintersect from the paths of front and rear blocks, there is a problemthat an actual wire electrode tilts greatly (in the example, atilt of 64degrees) and the tilt angle greatly exceeds the maximum taper angle (forexample, 30 degrees) of a wire-electrical discharge machine.

As shown in FIG. 12, JP 2002-011620 A discloses such a control methodthat when an outside of an acute angle corner is machined, an additionalblock, which does not relate to an external shape to be machined, isdisposed and a machining condition is changed in the portion. However,in a technology disclosed in JP 2002-011620 A, when a machiningcondition is changed at an intersecting point of two blocks thatintersect at an obtuse angle, since machining stays while carrying outelectrical discharge without a movement command at the point when themachining condition has been changed, a problem arises in that gougingoccurs to the external shape to be machined (refer to FIG. 13A).

Further, also in a taper machining amount correction function shown inFIG. 14, FIG. 15, and FIG. 16, taper machining as shown in FIG. 17 willbe examined in which a straight line—a left turning arc—a right turningarc—a straight line are connected by a tangential line, a wire electrodetravels on a right side of a path, and the taper machining is carriedout while tilting to a left side in a traveling direction in a shape formaking a product on the left side of the path. (1) In the left turningarc, since a moving distance on a lower side is longer than that on anupper side, it is necessary to carry out a taper machining amountcorrection for putting the lower side into a work. (2) In the rightturning arc, since the moving distance on the lower side is shorter thanthat on the upper side, it is necessary to carry out the taper machiningamount correction for causing the lower side to be away from the work.(3) In also a linear movement, it is necessary to carry out the tapermachining amount correction for putting the lower side into the work onthe lower side where the moving distance is long.

However, the correction is carried out instantly in an instructed block,the block does not move in a travel direction in a joint of the block ismoved only in a taper direction by the correction, and stays at thelocation with a result of occurrence of gouging due to excessiveelectric discharging. It is needless that, likewise the offset, in acorrection method in which a correction is completed at the end point ofa next block, a machining amount cannot be corrected and thus a desiredcorrection cannot be carried out, from which a problem arises.

SUMMARY OF THE INVENTION

Accordingly, in view of the problems of the conventional technologies,an object of the invention is to provide a machine tool capable ofapplying an offset value and a taper machining amount correction valueto a necessary portion and capable of improving an accuracy of amachining shape and a numerical control apparatus for controlling themachine tool.

A numerical control apparatus of a wire-electrical discharge machineaccording to the invention for electrical discharge machining a work bya wire electrode line along a machining path including an offsetincludes a unit configured to add a block that divides, when an offsetvalue instructed in a first front block is different from an offsetvalue instructed in a second rear block in two contact machining pathblocks, the two blocks at points in front of and behind a connectingpoint of the two blocks in an optional distance, respectively, andgradually changes the offset value from the offset value instructed inthe front block to the offset value instructed in the rear block, in thearea between the points that newly divides the front block and the rearblock.

A numerical control apparatus of a wire-electrical discharge machineaccording to the invention for electrical discharge machining a work bya wire electrode line along a machining path including a taper angle ortaper machining amount correction amount comprises a unit configured toadd a block that divides, when a taper angle or a taper machining amountcorrection amount instructed in a first front block is different from ataper angle or a taper machining amount correction amount instructed ina next rear block in two contact machining path blocks, the two blocksat points in front of and behind a connecting point of the two blocks inan optional distance, respectively, and gradually change the taper angleor the taper machining amount correction amount from the taper angle orthe taper machining amount correction amount instructed in the frontblock to the taper angle or the taper machining amount correction amountinstructed in the rear block, in the area between the points that newlydivides the front block and the rear block.

A numerical control apparatus of a wire-electrical discharge machineaccording to the invention for electrical discharge machining a work bya wire electrode line along a machining path including an offsetcomprises a unit configured to add a block that divides, when an offsetvalue instructed in a first front block is different from an offsetvalue instructed in a second rear block in two contact machining pathblocks, a block at a point in front of or behind a connecting point ofthe two blocks in an optional distance, and gradually changes the offsetvalue, from the offset value instructed in the front block to the offsetvalue instructed in the rear block, in the area between a start pointand the end point of the divided block.

A numerical control apparatus of a wire-electrical discharge machineaccording to the invention for electrical discharge machining a work bya wire electrode line along a machining path including a taper angle ortaper machining amount correction amount includes a unit configured to,add a block that divides, when a taper angle or a taper machining amountcorrection amount instructed in a first front block is different from ataper angle or a taper machining amount correction amount instructed ina next rear block in two contact machining path blocks, a block at apoint in front of or behind a connecting point of the two blocks in anoptional distance, respectively and gradually change the taper angle orthe taper machining amount correction amount from the taper angle or thetaper machining amount correction amount instructed in the front blockto the taper angle or the taper machining amount correction amountinstructed in the rear block, in the area between the start point andthe end point of the added block.

Further, the invention includes a wire-electrical discharge machineprovided with the numerical control apparatus.

A numerical control apparatus of a machine tool according to theinvention for machining a work by a cutting tool along a machining pathincluding an offset includes a unit configured to, add a block thatdivides, when an offset value instructed in a first front block isdifferent from an offset value instructed in a second rear block in twocontact machining path blocks, the two blocks at points in front of andbehind a connecting point of the two blocks in an optional distance,respectively, and gradually change the offset value from the offsetvalue instructed in the front block to the offset value instructed inthe rear block, in the area between the points that newly divides thefront block and the rear block.

A numerical control apparatus according to the invention comprises aunit configured to add a function block, when an offset value instructedin a first front block is different from an offset value instructed in asecond rear block in two contact machining path blocks, that graduallychange the offset value from the offset value instructed in the frontblock to the offset value instructed in the rear block in the areabetween a point that divides the first front block an optional distancein front of a connecting point of the two blocks in a travel directionand a start point of a block behind the point.

A numerical control apparatus of a machine tool according to theinvention for machining a work by a cutting tool along a machining pathincluding an offset comprises a unit configured to add a block, when anoffset value instructed in a first front block is different from anoffset value instructed in a second rear block in two contact machiningpath blocks, that gradually changes the offset value from the offsetvalue instructed in the front block to the offset value instructed inthe rear block, in the area between the endpoint of the front block anda point that divides the second rear block an optional distance behind aconnecting point of the two blocks in a travel direction.

Since the invention includes the configuration described above, theinvention can provide a wire-electrical discharge machine capable ofapplying an offset value and a taper machining amount correction valueto a necessary portion and capable of improving the accuracy of amachined shape and a numerical control apparatus of the wire-electricaldischarge machine and a numerical control apparatus for controlling amachine tool.

BRIEF DESCRIPTION OF THE DRAWINGS

The above-described and other objects and the feature of the inventiondescribed above and a feature thereof will become apparent from theexplanation of the following embodiments in reference to attacheddrawings, wherein:

FIG. 1 is a view explaining an offset value (tool diameter correctionamount);

FIG. 2 is a view explaining to change an offset value during an offsetmode;

FIG. 3 is a view explaining that instructing an offset number succeedingto an address “D” in a program causes machining to be carried out by anoffset value set to the instructed number;

FIG. 4 is a view explaining a path when the offset amount is changed (acase of intersection);

FIG. 5 is a view explaining a path when the offset amount is changed (acase of contact);

FIG. 6 is a view explaining a case that a step is machined in a nearmoving block;

FIG. 7 is a view explaining an example of exchange of offset vector in acase of almost contact (an intersecting lines of 179 degrees);

FIG. 8 is a view explaining a change of a taper angle;

FIG. 9 is a view explaining a path when the taper angle is changed (thecase of intersection);

FIG. 10 is a view explaining a path when the taper angle is changed (thecase of contact);

FIG. 11 an example of exchange of taper vector in a case of almostcontact (an intersecting lines of 179 degrees);

FIG. 12 is a view explaining JP 2007-83372 A;

FIG. 13 is a view explaining a technical difference to JP 2007-83372 Awhich is a prior art document;

FIG. 14 is a view explaining a case that a work is machined in a conicalshape by wire electrical discharge machining;

FIG. 15 shows an example in which no correction is carried out in tapermachining;

FIG. 16 shows an example in which correction is carried out in tapermachining;

FIG. 17 is a view explaining that no exchange block is used in a tapermachining amount correction (a case of a contact corner);

FIG. 18 is a view explaining a wire-electrical discharge machine;

FIG. 19 is a flowchart explaining processing of an embodiment 1;

FIG. 20 is a flowchart explaining processing of an embodiment 2;

FIG. 21 is a view explaining an exchange block function in the tapermachining amount correction (the case of the contact corner);

FIG. 22 is a view explaining an example of exchange of taper correctionvector in a case of the taper machining amount correction (no additionalblock is used);

FIG. 23 is a view explaining an example of exchange of the tapercorrection vector in the case of the taper machining amount correction(an additional block is used);

FIG. 24 is a view explaining an example of exchange of the tapercorrection vector in the case of the taper machining amount correction(the additional block is used);

FIG. 25 is a flowchart explaining processing of an embodiment 3;

FIG. 26 is a view explaining a taper machining correction path in analmost contact obtuse angle corner;

FIG. 27 is a view explaining a numerical control apparatus forcontrolling a machine tool; and

FIG. 28 is a flowchart explaining processing of an embodiment 4.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

First, embodiments of a wire-electrical discharge machine for machininga work by electrical discharge machining will be explained.

FIG. 18 is a view explaining a configuration of the wire-electricaldischarge machine including a taper machining function. A sign 101denotes a work placing table on which a work 5 that is a machiningtarget is placed and fixed. The work placing table 101 has a placingsurface 102 with a highly accurate flatness. At the time of machining,the work 5 is placed on and fixed to the work placing table 101 so thatits bottom surface is in contact with the placing surface 102.

To electrical discharge machining the work 5, a wire electrode 4 issupplied from a wire electrode feed reel (not shown) to a machiningportion 116 via a power supply roller 115, an upper guide roller 113,and a upper wire guide 111. At the time of machining, the wire electrode4 is stretched between the upper wire guide 111 and a lower wire guide112 by a wire connection operation and applied with a voltage forgenerating discharge between it and the work 5.

The wire electrode 4 is wound around a winding reel (not shown) thatdraws the wire electrode 4 by predetermined tension via the machiningportion 116 and further via the lower wire guide 112 and a lower guideroller 114. Note that, the wire electrode 4 maybe collected in a wirecollection box (not shown) in place of the winding reel.

The wire electrode 4 is supplied with electric energy for the electricaldischarge machining from a machining power supply unit 121 via the powersupply roller 115 according to a pulse train 117 output from a numericalcontrol apparatus 120. The number of pulses of a pulse current inputfrom the machining power supply unit 121 or an integrated value of thepulse current can be treated as an amount of energy. Further, a methodof pouring cooling water to the machining portion 116 or submerging thework 5 in its entirety into a machining liquid (for example, pure water)is employed.

Ordinarily, the placing surface 102 of the work placing table 101extends in a horizontal direction (on a surface parallel with an XYplane), and the work placing table 101 can be driven on an surfaceparallel with the XY plane that uses an X axis and a Y axis asorthogonal axes by servo motors 105, 106 of respective X and Y axes.Further, the upper wire guide 111 can be driven on the surface parallelwith the XY plane by servo motors 108, 109 of respective U and V axesand can be driven in a direction orthogonal to the XY plane (±Zdirection) by a servo motor 110 of a Z axis. Ordinarily, a movingdirection by the U axis is parallel with a moving direction by the Xaxis, and a moving direction by the V axis is parallel with a movingdirection by the Y axis. Note that, as conventionally known, the presentpositions of the respective drive axes (X axis, Y axis, Z-axis, U-axis,and V-axis) are stored in a storage unit in the numerical controlapparatus 120 as machine coordinate positions. Note that, asconventionally known, the machine coordinate position of the lower wireguide 112 is also stored previously in the storage unit in the numericalcontrol apparatus 120 as a parameter.

To change the machining portion 116, it is sufficient to change therelative position between the work 5 and the wire electrode 4 inresponse to commands output from the numerical control apparatus 120 tothe servo motors of the respective axes (X axis command, Y axis command,Z axis command, U axis command, and V axis command). The contents of thecommands are ordinarily prescribed by a machining program. The machiningprogram is a program for prescribing a moving command of the wireelectrode 4, i.e., a program for prescribing moving commands, etc. tothe servo motors of the respective axes and is defined on the surfaceparallel with the XY plane described above. The plane to be defined canbe set at an optional position in a Z axis direction. The plane that canbe optionally defined is called a program-surface.

The configurations of the wire-electrical discharge machine and thenumerical control apparatus for controlling the wire-electricaldischarge machine described above have been conventionally known. Thenumerical control apparatus further includes a means for carrying outthe embodiments 1-3 described below, specifically software.

Embodiment 1 Case of Offset Command

Conventionally, as shown in FIG. 6B, when it is instructed to change anoffset value at the time front and back blocks have been approximatelyin contact with each other of intersected each other at less than onedegree, although the offset value is gradually changed so that itbecomes a value that has been changed from a start point toward an endpoint of a block to which the offset value command has been instructed,in the case, an offset at the position of the start point of the blockwhere the offset value has been gradually changed is not correct.

To cope with the problem, as shown in FIG. 6C, optional minute blocksare automatically created in front of and behind a joint (connectingpoint) of the block to which the offset command has been instructed, andthe offset value is exchanged between the minute blocks so that acorrect offset value can be obtained in a desired block. Note that, theminute blocks are automatically created not only in front of and behindthe connecting point but also a minute block may be created as one blockonly behind an optional section from the connecting point or as oneblock only in front of an optional section from the connecting point.

FIG. 19 is a flowchart of the embodiment 1. Here, FIG. 19 is a flowchartof processing when minute blocks that extend in front of and behind ajoint of a block are provided.

[Step sa01] Whether or not a program is finished is determined, and whenthe program is finished (YES), a process is finished, whereas when theprogram is not finished (NO), the process goes to step sa02.[Step sa02] A next block offset value OFa1 of a next moving block iscaptured and stored in a memory. Note that, the next moving block is ablock that will be carried out next to a block that is being carried outat the time.[Step sa03] A block offset value of a block after the next block, OFa2,of the moving block after the next block is captured and stored in thememory. Note that, the moving block after the next block is a block thatwill be carried out next to the next block that is being carried out atthe time after the first block.[Step sa04] Whether or not the next block offset value OFa1 is equal tothe block offset value of a block after the next block, OFa2, isdetermined, and when they are equal to each other (YES), the processgoes to step sa05, whereas when they are not equal to each other (NO),the process goes to step sa06.[Step sa05] A movement to the block after the next block is carried outafter the movement of the next block has been finished in the next blockoffset value OFa1.[Step sa06] A block is divided at a point by a distance ΔL in front ofthe end point of the next block.[Step sa07] The block is divided at a point by a distance ΔL behind thestart point of the block after the next block.[Step sa08] A movement is carried out in the next block offset valueOFa1 up to a start point of a block added by dividing the next block ata point the distance ΔL in front of the end point of the next block.[Step sa09] A movement is carried out while gradually changing theoffset value from the next block offset value OFa1 to the block offsetvalue of the block after the next block, OFa2, from a start point of ablock added by dividing the block at a point a distance ΔL in front ofthe end point thereof toward an end point of a block added by dividingthe next bock at a point the distance ΔL behind a start point thereof.[Step sa10] A movement is carried out from an end point of a block addedby dividing the block after the next block at a point a distance ΔLbehind a start point thereof in the block after the next block in theblock offset value of the block after the next block, OFa2.

Note that, the minute blocks are automatically created not only in frontof and behind the connecting point but also a minute block may becreated as one block only behind an optional section from the connectingpoint (in the case, ΔL=0 at step sa06) or as one block only in front ofan optional section from the connecting point (in the case, ΔL=0 at stepsa07). Thus, when a block is added so that the block does not extend totwo blocks, the offset value is gradually changed so that the next blockoffset value OFa1 is set at the start point of the added block and theblock offset value of the block after the next block, OFa2, is set atthe end point thereof. Further, the length ΔL at step sa06 need not beequal to that of ΔL at step sa07.

The wire-electrical discharge machine, which includes the meansconfigured to add a block that divides, when an offset value instructedin a first front block is different from an offset value instructed in anext rear block in two contact machining path blocks, the two blocks infront of and behind a connecting point of the two blocks in an optionaldistance, respectively and gradually changes from the offset valueinstructed in the front block to the offset value instructed in the rearblock between a newly divided point of the front block and a newlydivided point of the rear block, is configured by the embodiment 1.

Likewise, a controller of a wire-electrical discharge machine forelectrical discharge machining a work by a wire electrode line along amachining path including an offset, which includes means configured toadd a block that divides, when an offset value instructed in a firstfront block is different from an offset value instructed in a next rearblock in two contact machining path blocks, a block in front of orbehind a connecting point of the two blocks, respectively in an optionaldistance and gradually changes from the offset value instructed in thefront block to the offset value instructed in the rear block between anewly divided point of the front block and a newly divided point of theblock, is configured.

Likewise, a wire-electrical discharge machine for electrical dischargemachining a work by a wire electrode line along a machining pathincluding an offset, which include means configured to add a block thatdivides, when an offset value instructed in a first front block isdifferent from an offset value instructed in a next rear block in twocontact machining path blocks, a block in front of or behind aconnecting point of the two blocks in an optional distance and graduallychanges from the offset value instructed in the front block to theoffset value instructed in the rear block between a start point to theend point of the divided block, is configured.

Likewise, a controller of a wire-electrical discharge machine forelectrical discharge machining a work by a wire electrode line along amachining path including an offset, which include means configured toadd a block that divides, when an offset value instructed in a firstfront block is different from an offset value instructed in a next rearblock in two contact machining path blocks, a block in front of orbehind a connecting point of the two blocks in an optional distance andgradually changes from the offset value instructed in the front block tothe offset value instructed in the rear block between a start point tothe end point of the divided block, is configured.

According to the embodiment, an offset value can be optimally applied toa necessary portion and the accuracy of a machined shape can beimproved. Specifically, when a tangential line exists at a connectingpoint of a block on the same straight line and at a connecting point offront and back blocks, blocks are added in front of and behind theconnecting point in a previously set short distance, the start point ofthe added block on a proximal side has the same offset as a presentblock, and half the offset difference of the two originally existingblocks is corrected at the endpoint of the first end block. Further, theend blocks can be automatically added and an offset can be changed in avery slight distance so that the offset value of the next originallyexisting block is set at the end point of the next end block added fromthe originally existing tangential line or joint (connecting point).

Note that, although the invention can achieve a higher effect when frontand back blocks intersect each other at a connecting point at less thanone degree, the invention can be also applied to a case that theyintersect each other at one degree or more.

Embodiment 2 Case of Taper Angle Command Machining

Conventionally, as shown in FIG. 10, when it is instructed to change ataper angle when front and back blocks are approximately in contact witheach other or intersect each other at less than one degree, the taperangle is gradually changed so that its value becomes a changed valuefrom a start point to an end point of a block to which the taper anglecommand has been instructed. However, in the method, the taper angle atposition of the start point of the block where the taper angle isgradually changed is not correct.

To cope with the problem, likewise the taper angle command describedabove, optional minute blocks are automatically created in front of andbehind a joint (connecting point) of the block to which the taper anglecommand has been instructed, and the taper angle command is exchangedbetween the minute blocks so that a correct taper angle command can beobtained in a desired block. Note that, the minute blocks areautomatically created not only in front of and behind the connectingpoint but also a minute block may be created as one block only behind anoptional section from the connecting point or as one block only in frontof an optional section from the connecting point.

FIG. 20 is a flowchart of processing of the embodiment 2. Here, FIG. 20is a flowchart of processing when minute blocks that extend in front ofand behind a joint of a block are provided.

[Step sb01] Whether or not a program is finished is determined, and whenthe program is finished (YES), a process is finished, whereas when theprogram is not finished (NO), the process goes to step sb02.[Step sb02] A next block offset value OFa1 of a next moving block iscaptured and stored in a memory. Note that, the next block is a blockthat will be carried out next to a first block that is being carried outat the time.[Step sb03] A block taper angle command value of a block after the nextblock, OFb2, of a moving block after the next block, is captured andstored in the memory. Note that, the moving block after the next blockis a block that will be carried out next to the next block that is beingcarried out at the time after the first block has been carried out.[Step sb04] Whether or not the next block taper angle command value OFb1is equal to the block taper angle command value of the block after thenext block, OFb2, is determined, and when they are equal to each other(YES), the process goes to step sb05, whereas when they are not equal toeach other (NO), the process goes to step sb06.[Step sb05] A movement to the block after the next block is carried outafter the movement of the next block has been finished in the next blocktaper angle command value OFb1.[Step sb06] A block is divided at a point by a distance ΔL in front ofthe end point of the next block.[Step sb07] The block is divided at a point by a distance ΔL behind thestart point of the block after the next block.[Step sb08] A movement is carried out in the next block taper anglecommand value OFb1 up to a start point of a block added by dividing thenext block at a point a distance ΔL in front of the end point of thenext block.[Step sb09] A movement is carried out while gradually changing the taperangle command from the next block taper angle command value OFb1 to theblock taper angle command value of the block after the next block, OFb2,from a start point of the block added by dividing the next block at apoint a distance ΔL in front of the end point thereof, toward an endpoint of the block added by dividing the block after the next block at apoint a distance ΔL behind a start point thereof and added.[Step sb10] A movement is carried out from an end point of a block addedby dividing the block after the next block at a point by a distance ΔLbehind a start point thereof in the block after the next block in theblock taper angle command value of the block after the next block, OFb2.

Note that, the minute blocks are automatically created not only in frontof and behind the connecting point but also a minute block may becreated as one block only behind an optional section from the connectingpoint (in the case, ΔL=0 at step sb06) or as one block only in front ofan optional section from the connecting point (in the case, ΔL=0 at stepsb07). Thus, when a block is added so that the block does not extend totwo blocks, the taper angle command value is gradually changed so thatthe next block taper angle command value OFb1 is set at the start pointof the added block and the block taper angle command value of the blockafter the next block, OFb2, is set at the end point thereof. Further,the length ΔL at step sb06 need not be equal to that of ΔL at step sb07.

Embodiment 3 Case of Taper Machining Amount Correction

Conventionally, as shown in FIG. 17, when it is instructed to change ataper machining amount correction value when front and back blocks areapproximately in contact with each other, the correction amount isinstantly applied from a start point of a block to which the machiningamount correction command is instructed in a correction direction, i.e.,a normal vector direction (taper vector direction) of a path. However,in the method, since the taper machining amount correction value doesnot move in a travel direction and moves in a normal direction withoutdelay, gouging due to excessive electric discharging occurs on amachined surface during a moving time.

To cope with the problem, as shown in FIG. 21, minute blocks areautomatically created in front of and behind a joint (connecting point)of a block where the machining amount correction value command ischanged, the taper machining amount correction value is exchangedbetween the minute blocks, and the taper machining amount correctionvalue is changed while being moved in front of and behind the connectingpoint.

FIG. 22 is a view explaining an example of exchange of a tapercorrection vector when a taper machining amount is corrected (additionalblock is absent). Taper machining amount correction values are added ona work upper surface side and a work lower surface side, respectively ina taper vector direction of a wire electrode likewise the offset amount.At the time, in a case of FIG. 22A in which respective moving blocksintersect at a corner, a correction path is created by connecting pathsthat include upper and lower side correction amounts, respectively.However, as shown in FIG. 22B, in a case in which blocks are in contactwith each other via an arc, i.e., in a case in which paths includingcorrection amounts do not intersect each other, when the correctionamounts are exchanged at end points of the blocks, a step-line occurs atthe time of exchange.

FIG. 23 is a view explaining an example of exchange of the tapercorrection vector when the taper machining amount is corrected(additional block is present). FIG. 24 is a view explaining an exampleof exchange of the taper correction vector when the taper machiningamount is corrected (additional block is present). As explained in FIG.23 and FIG. 24, optional distances from an end point and a start pointof a correction amount path (in the case, the distances are shown byintersecting points with circles) are determined, respectively and ablock, which connects a point divided at a position in front of theoptional distance from the end point to a point divided at a positionhaving the optional distance from a start point of a next block, therebythe correction amount path can be smoothly connected.

FIG. 26 is a view explaining a taper machining correction path at analmost contact obtuse angle. When a highly accurate taper machiningcorrection amount changes at the almost obtuse angle corner, i.e., in astate that a front block intersects a rear block at less than onedegree, an obtuse angle corner connection block is inserted to graduallychange the highly accurate taper machining correction amount. A path inthe case becomes a path shown by a broken line in FIG. 26. An insertionposition of the obtuse angle corner connection block is set to an obtuseangle corner connection distance 1CDL1 <Rxxxx+4> and an obtuse anglecorner connection distance 2CDLD <Rxxxx+8>. Note that, the minute blocksare automatically created not only in front of and behind the connectingpoint but also a minute block may be created as one block only behind anoptional section from the connecting point or as one block only in frontof an optional section from the connecting point.

FIG. 25 is a flowchart of processing of the embodiment 3. FIG. 25 is aflowchart of processing when minute blocks that extend in front of andbehind a joint of a block are provided.

[Step sc01] Whether or not a program is finished is determined, and whenthe program is finished (YES), a process is finished, whereas when theprogram is not finished (NO), the process goes to step sc02.[Step sc02] A next block taper machining amount correction amount OFc1of a next moving block, that is, the next moving block, is captured andstored in a memory. Note that, the next block is a block that will becarried out next to a first block that is being carried out at the time.[Step sc03] A block taper machining amount correction amount of theblock after the next block, OFc2, of the third moving block is capturedand stored in the memory. Note that, the block after the next block is ablock that will be carried out next to the next block that is beingcarried out at the time after the first block has been carried out.[Step sc04] Whether or not the next block taper machining amountcorrection amount OFc1 is equal to the block taper machining amountcorrection amount of the block after the next block, OFc2, isdetermined, and when they are equal to each other (YES), the processgoes to step sc05, whereas when they are not equal to each other (NO),the process goes to step sc06.[Step sc05] A movement to the block after the next block is carried outafter the movement of the next block has been finished in the next blocktaper machining amount correction amount OFc1.[Step sc06] A block is divided at a point by a distance ΔL in front ofthe end point of the next block.[Step sc07] The block is divided at a point by a distance ΔL behind thestart point of the block after the next block.[Step sc08] A movement is carried out in the next block taper machiningamount correction amount OFc1 up to a start point of a block added bydividing the next block at a point a distance ΔL in front of the endpoint of the next block.[Step sc09] A movement is carried out while gradually changing the tapermachining amount correction amount from the next block taper machiningamount correction amount OFc1 to the block taper machining amountcorrection amount of the block after the next block, OFc2, from a startpoint of a block added by dividing at a point a distance ΔL in front ofthe end point thereof and added toward an end point of a block added bydividing at a point by a distance ΔL behind a start point thereof.[Step sc10] A movement is carried out from an end point of a block addedby dividing the block after the next block at a point a distance ΔLbehind a start point thereof in the block after the next block in theblock taper machining amount correction amount of the block after thenext block, OFc2.

Note that, the minute blocks are automatically created not only in frontof and behind the connecting point but also a minute block may becreated as one block only behind an optional section from the connectingpoint (in the case, ΔL=0 at step sc06) or as one block only in front ofan optional section from the connecting point (in the case, ΔL=0 at stepsc07). Thus, when a block is added so that the block does not extend totwo blocks, the taper machining amount correction amount is graduallychanged so that the next block taper machining amount correction amountOFc1 is set at the start point of the added block and the block tapermachining amount correction amount of the block after the next block,OFc2, is set at the end point thereof. Further, the length ΔL at stepsc06 need not be equal to that of ΔL at step sc07.

According to the embodiment 3, a wire-electrical discharge machine forelectrical discharge machining a work by a wire electrode line along amachining path including a taper machining amount correction amount,which includes means configured to add a block that divides, when ataper machining amount correction amount instructed in a first frontblock is different from a taper machining amount correction amountinstructed in a next rear block in two contact machining path blocks,the two blocks in front of and behind a connecting point of the twoblocks in an optional distance, respectively and gradually changes fromthe taper machining amount correction amount instructed in the frontblock to the taper machining amount correction amount instructed in therear block between a newly divided point of the front block and a newlydivided point of the rear block, is configured.

Likewise, a controller of a wire-electrical discharge machine forelectrical discharge machining a work by a wire electrode line along amachining path including a taper machining amount correction amount,which includes means configured to add a block that divides, when ataper machining amount correction amount instructed in a first frontblock is different from a taper machining amount correction amountinstructed in a next rear block in two contact machining path blocks,the two blocks in front of and behind a connecting point of the twoblocks in an optional distance, respectively and gradually changes fromthe taper machining amount correction amount instructed in the frontblock to the taper machining amount correction amount instructed in therear block between a newly divided point of the front block and a newlydivided point of the rear block, is configured.

Likewise, a wire-electrical discharge machine for electrical dischargemachining a work by a wire electrode line along a machining pathincluding a taper machining amount correction amount, which includesmeans configured to add a block that divides, when a taper machiningamount correction amount instructed in a first front block is differentfrom a taper machining amount correction amount instructed in a nextrear block in two contact machining path blocks, a block in front of orbehind a connecting point of the two blocks in an optional distance andgradually changes from the taper machining amount correction amountinstructed in the front block to the taper machining amount correctionamount instructed in the rear block between a start point and the endpoint of the divided block, is configured.

Likewise, a controller of a wire-electrical discharge machine forelectrical discharge machining a work by a wire electrode line along amachining path including a taper machining amount correction amount,which includes means configured to add a block that divides, when ataper machining amount correction amount instructed in a first frontblock is different from a taper machining amount correction amountinstructed in a next rear block in two contact machining path blocks, ablock in front of or behind a connecting point of the two blocks in anoptional distance and gradually changes from the taper machining amountcorrection amount instructed in the front block to the taper machiningamount correction amount instructed in the rear block between a startpoint and the end point of the divided block, is configured.

As described above, the embodiment can optimally apply an offset valueand a taper machining amount correction value a necessary portion andcan improve the accuracy of a machined shape. Specifically, blocks areadded in front of and behind a joint (connecting point) of a block onthe same straight line, and the start point of the added block on aproximal side has the same offset as a present block, and half thedifference of a taper angle command of the two originally existingblocks is corrected at the endpoint of the first end block. Further, theend blocks can be automatically added and an offset can be changed in avery slight distance so that the taper angle command of the nextoriginally existing block is set at the end point of the next end blockadded from the joint (connecting point).

Next, an embodiment 4 of the machine tool of the invention for machininga work using a cutting tool will be explained.

FIG. 27 is a view explaining a numerical control apparatus forcontrolling the machine tool. A CPU 11 is a processor for controllingthe numerical control apparatus 10 in its entirety. The CPU 11 reads asystem program stored in a ROM 12 via a bus 20 and controls thenumerical control apparatus 10 in its entirety according to the systemprogram. A RAM 13 stores temporary calculation data and display data,and various data input by an operator via a display/MDI unit 70. An SRAM14 is configured as a non-volatile memory which is backed up by a notshown battery and in which a storage unit is kept even if a power supplyto the numerical control apparatus 10 is turned off.

The SRAM 14 stores a machining program (NC program) read via aninterface 15 and machining program input via the display/MDI unit 70.The SRAM 14 previously stores respective table type data (path table)described above. Further, various system programs for creating amachining program and carrying out edit processing is previously writtento the ROM 12. Note that, in the invention, a location where the NCprogram and the path table are stored is not limited to a storage unitin the numerical control apparatus. For example, the data of the NCprogram and the path table may be stored in an external storage unitconnected via network and respective blocks of the NC program and dataof the path table may be read one by one via the network.

The interface 15 allows the numerical control apparatus 10 to beconnected to external equipment such as a not shown adaptor. Further, amachining program edited in the numerical control apparatus 10 can bestored in an external storage device via the external equipment. A PMC(programmable machine controller) 16 controls auxiliary devices such asan actuator of the machine tool by outputting a signal thereto by asequence program contained in the numerical control apparatus 10 via anI/O unit 17. Further, the PCM 16 receives a signal from variousswitches, etc. of an operation controller disposed to a main body of themachine tool and delivers the signal to the CPU 11 after havingsubjected the signal to necessary signal processing. The display/MDIunit 70 is a manual data input device including a display and akeyboard, etc., and an interface 18 receives a command and data from thekeyboard of the display/MDI unit 70 and delivers the command and thedata to the CPU 11. An interface 19 is connected to a control panel 71and receives various commands from the control panel 71.

Respective feed shaft control circuits 30, 31 receive movement commandsof the respective feed shafts from the CPU 11 and output the commands ofthe respective feed shafts to servo amplifiers 40, 41. On receiving thecommands, the servo amplifiers 40, 41 drive servomotors 50 x, 51 z ofthe respective feed shafts. The servo motors 50 x, 51 z of therespective feed shafts include not shown position/speed detectors,feedback position/speed feedback signals from the position/speeddetectors to the shaft control circuits 30, 31, and feedback-controlspositions and speeds. Note that, FIG. 10 does not describe the feedbackof the position and the speed.

Further, on receiving a main shaft rotation command, a spindle controlcircuit 60 outputs a spindle speed signal to a spindle amplifier 61. Onreceiving the spindle speed signal, the spindle amplifier 61 rotates aspindle motor (main shaft motor) 62 at an instructed rotation speed. Aposition coder 63 feedbacks a feedback pulse (reference pulse) and onerotation signal to the spindle control circuit 60 in synchronism withthe rotation of the spindle motor (main shaft motor) 62 and carries outa speed control. The feedback pulse (reference pulse) and the onerotation signal are read by the CPU 11 via the spindle control circuit60 and the feedback pulse (reference pulse) is counted by a counter (acounter corresponding to respective reference value counters of FIG. 3and FIG. 4) disposed to the RAM 13. Note that, the command pulses of amain shaft may be counted.

Further, a counter disposed to the RAM 13 counts the number of pulses ofa time signal obtained from a time measurement function of the numericalcontrol apparatus 10 or counts the number of pulses obtained from thefeedback signals from the feed shafts and obtains a reference signalwhen a path table drive is carried out. Otherwise, the counter may countthe command pulses of the feed shafts.

According to the embodiment, an offset value can be optimally applied toa necessary portion and the accuracy of a machined shape can beimproved. Specifically, at a joint (connecting point) of a block on thesame straight line and at an intersecting point of two blocks thatintersect at an obtuse angle, blocks are added in front of and behindthe joint (connecting point) in a previously set short distance, thestart point of the added block on a proximal side has the same offset asa present block, and half the offset difference of the two originallyexisting blocks is corrected at the endpoint of the first end block.Further, the end blocks can be automatically added and an offset can bechanged in a very slight distance so that the offset value of the nextoriginally existing block is set at the end point of the next end blockadded from the originally existing joint.

FIG. 28 is a flowchart of processing of the embodiment 4. Here, FIG. 28is a flowchart of processing when minute blocks that extend in front ofand behind a joint of a block are provided.

[Step sd01] Whether or not a program is finished is determined, and whenthe program is finished (YES), a process is finished, whereas when theprogram is not finished (NO), the process goes to step sd02.[Step sd02] An offset value OFd1 of a next moving block, that is, thenext moving block, is captured and stored in a memory. Note that, thenext moving block is a block that will be carried out next to a firstblock that is being carried out at the time.[Step sd03] An offset value OFd2 of a moving block after the next block,is captured and stored in the memory. Note that, the block after thenext block is a block that will be carried out next to the next blockthat is being carried out at the time after the first block has beencarried out.[Step sd04] Whether or not the next block offset OFd1 is equal to theblock offset of the block after the next block, OFd2, is determined, andwhen they are equal to each other (YES), the process goes to step sd05,whereas when they are not equal to each other (NO), the process goes tostep sd06.[Step sd05] A movement to the block of the block after the next block iscarried out after the movement of the next block has been finished inthe offset OFd1 of the next block.[Step sd06] A block is divided at a point by a distance ΔL in front ofthe end point of the next block.[Step sd07] The block is divided at a point by a distance ΔL behind thestart point of the block after the next block.[Step sd08] A movement is carried out in the offset OFd1 of the nextblock up to a start point of a block added by dividing the next block ata point a distance ΔL in front of the end point of the next block.[Step sd09] A movement is carried out while gradually changing theoffset value from offset OFd1 of the next block to the offset OFd2 ofthe block after the next block from a start point of a block added bydividing the next block at a point a distance ΔL in front of the endpoint thereof and added toward an end point of a block added by dividingthe block after the next block at a point a distance ΔL behind a startpoint thereof.[Step sd10] A movement is carried out from an end point of a block addedby dividing the block after the next block at a point a distance ΔLbehind a start point thereof in the block after the next block in theoffset of the block after the next block, OFd2.

Note that, the minute blocks are automatically created not only in frontof and behind the connecting point but also a minute block may becreated as one block only behind an optional section from the connectingpoint (in the case, ΔL=0 at step sd06) or as one block only in front ofan optional section from the connecting point (in the case, ΔL=0 at stepsd07). Thus, when a block is added so that the block does not extend totwo blocks, the offset value is gradually changed so that the next blockoffset OFd1 is set at the start point of the added block and the blockoffset of the block after the next block, OFd2, is set at the endpointthereof. Further, the length ΔL at step sd06 need not be equal to thatof ΔL at step sd07.

According to the embodiment 4, a numerical control apparatus of amachine tool for cutting a work by a cutting tool along a machining pathincluding an offset, which includes means configured to add a block thatdivides, when an offset value instructed in a first front block isdifferent from an offset value instructed in a next rear block in twocontact machining path blocks, the two blocks in front of and behind aconnecting point of the two blocks in an optional distance, respectivelyand gradually changes from the offset value instructed in the frontblock to the offset value instructed in the rear block between a newlydivided point of the front block and a newly divided point of the rearblock, is configured.

Likewise, a numerical control apparatus of a machine tool for machininga work by a cutting tool along a machining path including an offset,which comprises means configured to add a function block that graduallychanges, when an offset value instructed in a first front block isdifferent from an offset value instructed in a next rear block in twocontact machining path blocks, a function that gradually changes fromthe offset value instructed in the front block to the offset valueinstructed in the rear block between a point made by being divided infront of a connecting point of the two blocks in a travel direction inan optional distance and a start point of a block behind the dividedpoint, is configured.

Likewise, a numerical control apparatus of a machine tool for machininga work by a cutting tool along a machining path including an offsetmeans configured to add a block which gradually changes, when an offsetvalue instructed in a first front block is different from an offsetvalue instructed in a next rear block in two contact machining pathblocks, a function that gradually changes from the offset valueinstructed in the front block to the offset value instructed in the rearblock between the end point of the front block and a point made by beingdivided behind a connecting point of the two blocks in a traveldirection in an optional distance.

1. A numerical control apparatus of a wire-electrical discharge machinefor electrical discharge machining a work by a wire electrode line alonga machining path including an offset, the numerical control apparatuscomprising; a unit configured to, add a block that divides, when anoffset value instructed in a first front block is different from anoffset value instructed in a second rear block in two contact machiningpath blocks, the two blocks at points in front of and behind aconnecting point of the two blocks in an optional distance,respectively, and gradually change the offset value, from the offsetvalue instructed in the front block to the offset value instructed inthe rear block, in the area between the points that newly divides thefront block and the rear block.
 2. A numerical control apparatus of awire-electrical discharge machine for electrical discharge machining awork by a wire electrode line along a machining path including a taperangle or a taper machining amount correction amount, the numericalcontrol apparatus comprising; a unit configured to, add a block thatdivides, when a taper angle or a taper machining amount correctionamount instructed in a first front block is different from a taper angleor a taper machining amount correction amount instructed in a secondrear block in two contact machining path blocks, the two blocks atpoints in front of and behind a connecting point of the two blocks in anoptional distance, respectively, and gradually change the taper angle orthe taper machining amount correction amount, from the taper angle orthe taper machining amount correction amount instructed in the frontblock to the taper angle or the taper machining amount correction amountinstructed in the rear block, in the area between the points that newlydivides the front block and the rear block.
 3. A numerical controlapparatus of a wire-electrical discharge machine for electricaldischarge machining a work by a wire electrode line along a machiningpath including a taper angle or a taper machining amount correctionamount, the numerical control apparatus comprising; a unit configuredto, add a block that divides, when an offset value instructed in a firstfront block is different from an offset value instructed in a secondrear block in two contact machining path blocks, a block at a point infront of or behind a connecting point of the two blocks in an optionaldistance, and gradually change the offset value, from the offset valueinstructed in the front block to the offset value instructed in the rearblock, in the area between a start point and the end point of the addedblock.
 4. A numerical control apparatus of a wire-electrical dischargemachine for electrical discharge machining a work by a wire electrodeline along a machining path including a taper angle or a taper machiningamount correction amount, the numerical control apparatus comprising; aunit configured to, add a block that divides, when a taper angle or ataper machining amount correction amount instructed in a first frontblock is different from a taper angle or a taper machining amountcorrection amount instructed in a second rear block in two contactmachining path blocks, a block at a point in front of or behind aconnecting point of the two blocks in an optional distance,respectively, and gradually change the taper angle or a taper machiningamount correction amount, from the taper angle or the taper machiningamount correction amount instructed in the front block to the taperangle or the taper machining amount correction amount instructed in therear block, in the area between the start point and the end point of theadded block.
 5. A wire-electrical discharge machine comprising thenumerical control apparatus of the wire-electrical discharge machineaccording to claim
 1. 6. A numerical control apparatus of a machine toolfor machining a work by a cutting tool along a machining path includingan offset, the numerical control apparatus comprising; a unit configuredto, add a block that divides, when an offset value instructed in a firstfront block is different from an offset value instructed in a secondrear block in two contact machining path blocks, the two blocks atpoints in front of and behind a connecting point of the two blocks in anoptional distance, respectively, and gradually change the offset valuefrom the offset value instructed in the front block to the offset valueinstructed in the rear block, in the area between the points that newlydivides the front block and the rear block, respectively.
 7. A numericalcontrol apparatus of a machine tool for machining a work by a cuttingtool along a machining path including an offset, the numerical controlapparatus comprising; a unit configured to add a function block, when anoffset value instructed in a first front block is different from anoffset value instructed in a second rear block in two contact machiningpath blocks, that gradually change the offset value from the offsetvalue instructed in the front block to the offset value instructed inthe rear block, in the area between a point that divides the first frontblock an optional distance in front of a connecting point of the twoblocks in a travel direction and a start point of a block behind thepoint.
 8. A numerical control apparatus of a machine tool for machininga work by a cutting tool along a machining path including an offset, thenumerical control apparatus comprising; a unit configured to add ablock, when an offset value instructed in a first front block isdifferent from an offset value instructed in a second rear block in twocontact machining path blocks, that gradually changes the offset valuefrom the offset value instructed in the front block to the offset valueinstructed in the rear block, in the area between the end point of thefront block and a point that divides the second rear block an optionaldistance behind a connecting point of the two blocks in a traveldirection.